package com.guigu.pojo.stock;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.guigu.pojo.design.DFile;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author Mr.Zhang
 * @since 2024-12-06
 */
@Data
@TableName("S_CELL")
public class SCell implements Serializable {

    private static final long serialVersionUID=1L;

    //@apiModelProperty(value = "序号，唯一标识库存单元记录，自增长")
      @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;

    //@apiModelProperty(value = "库存编号，不可为空，唯一标识库存位置，便于库存管理与盘点")
    @TableField("STORE_ID")
    private String storeId;

    //@apiModelProperty(value = "产品编号，不可为空，关联产品档案，建立库存与产品联系")
    @TableField("PRODUCT_ID")
    private String productId;

    //@apiModelProperty(value = "产品名称，可空，辅助识别产品，增强库存信息可读性")
    @TableField("PRODUCT_NAME")
    private String productName;

    //@apiModelProperty(value = "产品 I 级分类编号，可空，细化产品分类，优化库存分类管理")
    @TableField("FIRST_KIND_ID")
    private String firstKindId;

    //@apiModelProperty(value = "产品 I 级分类名称，可空，辅助分类识别，提升管理效率")
    @TableField("FIRST_KIND_NAME")
    private String firstKindName;

    //@apiModelProperty(value = "产品 II 级分类编号，可空，进一步细分产品类别，精准库存定位")
    @TableField("SECOND_KIND_ID")
    private String secondKindId;

    //@apiModelProperty(value = "产品 II 级分类名称，可空，辅助分类管理，便于库存筛选与统计")
    @TableField("SECOND_KIND_NAME")
    private String secondKindName;

    //@apiModelProperty(value = "产品 III 级分类编号，可空，精确产品分类层级，优化库存架构")
    @TableField("THIRD_KIND_ID")
    private String thirdKindId;

    //@apiModelProperty(value = "产品 III 级分类名称，可空，提升分类辨识度，助力库存操作")
    @TableField("THIRD_KIND_NAME")
    private String thirdKindName;

    //@apiModelProperty(value = "库存报警下限数，不可为空，设定库存预警下限，防止缺货风险")
    @TableField("MIN_AMOUNT")
    private BigDecimal minAmount;

    //@apiModelProperty(value = "库存报警上限数，不可为空，确定库存预警上限，避免积压库存")
    @TableField("MAX_AMOUNT")
    private BigDecimal maxAmount;

    //@apiModelProperty(value = "最大存储量，不可为空，限定库存容量极限，规划库存布局")
    @TableField("MAX_CAPACITY_AMOUNT")
    private BigDecimal maxCapacityAmount;

    //@apiModelProperty(value = "当前存储量，不可为空，实时反映库存数量，监控库存动态")
    @TableField("AMOUNT")
    private BigDecimal amount;

    //@apiModelProperty(value = "配置要求，可空，记录库存特殊配置，如存储条件、保质期等")
    @TableField("CONFIG")
    private String config;

    //@apiModelProperty(value = "登记人姓名，可空，记录库存登记人员，追溯库存信息源头")
    @TableField("REGISTER")
    private String register;

    //@apiModelProperty(value = "登记时间，可空，记录库存登记时间，构建库存时间轴")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField("REGISTER_TIME")
    private Date registerTime;

    //@apiModelProperty(value = "复核人姓名，可空，审核库存信息人员，确保数据准确性")
    @TableField("CHECKER")
    private String checker;

    //@apiModelProperty(value = "复核时间，可空，记录复核时间，保障库存流程规范")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField("CHECK_TIME")
    private Date checkTime;

    //@apiModelProperty(value = "审核标志，可空，如审核通过、待审核、未通过，标记库存审核状态")
    @TableField("CHECK_TAG")
    private String checkTag;

}
